package entities;

import java.io.Serializable;

import javax.persistence.*;

import dtos.ArticuloDTO;

@Entity
@Table(name = "Ninios")
@DiscriminatorColumn(discriminatorType = DiscriminatorType.STRING)
@DiscriminatorValue("Ninio")
public class Ninio extends Articulo implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@Column
	private String edadRecomendada;
	
	
	
	public static Ninio parseDTO(ArticuloDTO articulo){
		Ninio n = new Ninio();
		try{
			n.codigo = articulo.getCodigoArticulo();
			n.idModulo = articulo.getIdModulo();
			n.descripcion = articulo.getDescripcion();
			n.marca = articulo.getMarca();
			n.precio = articulo.getPrecio();
			n.foto = articulo.getFotoURL();
			n.nombre = articulo.getNombre();
			n.origen = articulo.getOrigen();

			return n;
		}catch(Exception e){
			n.codigo = articulo.getCodigoArticulo();
			n.descripcion = "Null pointer exception en alguno de los atributos del DTO recibido";
			return n;
		}
	}
	
	public String getEdadRecomendada() {
		return edadRecomendada;
	}

	public void setEdadRecomendada(String edadRecomendada) {
		this.edadRecomendada = edadRecomendada;
	}
	
	public ArticuloDTO getDTO(){
		ArticuloDTO ninioDTO = this.instanciateDTO();
		ninioDTO.setEdadRecomendada(edadRecomendada);
		ninioDTO.setTipo("Ninio");
		
		return ninioDTO;
	}

}
